
import java.awt.Component;
import java.awt.Dimension;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;

import javax.swing.plaf.basic.BasicInternalFrameUI;
import java.io.*;


/**
 *
 * @author pc
 */
public class MainUI extends javax.swing.JFrame {

    /**
     * Creates new form MainUI
     */
    public MainUI() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        buttonGroup1 = new javax.swing.ButtonGroup();
        TitlePanel = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        jLabel13 = new javax.swing.JLabel();
        ApplicationTabbedPane = new javax.swing.JTabbedPane();
        LockFilesPanel = new javax.swing.JPanel();
        LockFilesInternalFrame = new javax.swing.JInternalFrame();
        jScrollPane1 = new javax.swing.JScrollPane();
        LockFilesTable = new javax.swing.JTable();
        LockButton = new javax.swing.JButton();
        UnlockButton = new javax.swing.JButton();
        jMenuBar1 = new javax.swing.JMenuBar();
        AddMenu = new javax.swing.JMenu();
        AddFilesMenuItem = new javax.swing.JMenuItem();
        AddFoldersMenuItem = new javax.swing.JMenuItem();
        RemoveMenu = new javax.swing.JMenu();
        LockFilesLabel = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        EncryptFilesPanel = new javax.swing.JPanel();
        EncyptFilesLabel = new javax.swing.JLabel();
        EncryptButton = new javax.swing.JButton();
        DecryptButton = new javax.swing.JButton();
        ArchiveFilesPanel = new javax.swing.JPanel();
        CompressButton = new javax.swing.JButton();
        jLabel7 = new javax.swing.JLabel();
        MenuInternalFrame = new javax.swing.JInternalFrame();
        BackgroundLabel = new javax.swing.JLabel();
        OtherMenuBar = new javax.swing.JMenuBar();
        XtrasMenu = new javax.swing.JMenu();
        ShredFilesMenuItem = new javax.swing.JMenuItem();
        AboutUsMenu = new javax.swing.JMenu();
        BackgroundLabel1 = new javax.swing.JLabel();

        setTitle("PANDORA'S BOX");
        setMinimumSize(new java.awt.Dimension(778, 450));
        setResizable(false);
        getContentPane().setLayout(null);

        TitlePanel.setMaximumSize(new java.awt.Dimension(100, 100));
        TitlePanel.setOpaque(false);

        jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image1/p.gif"))); // NOI18N

        jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image1/a.gif"))); // NOI18N

        jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image1/n.gif"))); // NOI18N

        jLabel5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image1/d.gif"))); // NOI18N

        jLabel6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image1/o.gif"))); // NOI18N

        jLabel8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image1/r.gif"))); // NOI18N

        jLabel9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image1/a.gif"))); // NOI18N

        jLabel10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image1/s.gif"))); // NOI18N

        jLabel11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image1/o.gif"))); // NOI18N

        jLabel12.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image1/b.gif"))); // NOI18N

        jLabel13.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image1/x.gif"))); // NOI18N

        javax.swing.GroupLayout TitlePanelLayout = new javax.swing.GroupLayout(TitlePanel);
        TitlePanel.setLayout(TitlePanelLayout);
        TitlePanelLayout.setHorizontalGroup(
            TitlePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, TitlePanelLayout.createSequentialGroup()
                .addGap(43, 43, 43)
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel3)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel4)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel5)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel6)
                .addGap(2, 2, 2)
                .addComponent(jLabel8)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel9)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel10)
                .addGap(38, 38, 38)
                .addComponent(jLabel12)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel11)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel13)
                .addGap(0, 111, Short.MAX_VALUE))
        );
        TitlePanelLayout.setVerticalGroup(
            TitlePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(TitlePanelLayout.createSequentialGroup()
                .addGroup(TitlePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel3)
                    .addGroup(TitlePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jLabel1)
                        .addGroup(TitlePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel12)
                            .addGroup(TitlePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jLabel13)
                                .addComponent(jLabel11))
                            .addComponent(jLabel10)
                            .addComponent(jLabel9)
                            .addComponent(jLabel8)
                            .addComponent(jLabel4)
                            .addComponent(jLabel5)
                            .addComponent(jLabel6))))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        getContentPane().add(TitlePanel);
        TitlePanel.setBounds(0, 0, 770, 70);

        ApplicationTabbedPane.setTabPlacement(javax.swing.JTabbedPane.RIGHT);

        LockFilesPanel.setOpaque(false);

        BasicInternalFrameUI bUI = (BasicInternalFrameUI)LockFilesInternalFrame.getUI();
        Component b = bUI.getNorthPane();
        b.setPreferredSize( new Dimension(0, 0) );
        b.validate();
        LockFilesInternalFrame.setBorder(null);
        LockFilesInternalFrame.setVisible(true);

        jScrollPane1.setOpaque(false);

        LockFilesTable.setAutoCreateRowSorter(true);
        LockFilesTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Items", "Status"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        LockFilesTable.setOpaque(false);
        jScrollPane1.setViewportView(LockFilesTable);

        LockButton.setText("LOCK");

        UnlockButton.setText("UNLOCK");

        AddMenu.setText("Add");

        AddFilesMenuItem.setIcon(new javax.swing.ImageIcon(getClass().getResource("/9342-group4-pandorasbox/cat-drink-icon.png"))); // NOI18N
        AddFilesMenuItem.setText("Add File(s)");
        AddFilesMenuItem.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                AddFilesMenuItemActionPerformed(evt);
            }
        });
        AddMenu.add(AddFilesMenuItem);

        AddFoldersMenuItem.setIcon(new javax.swing.ImageIcon(getClass().getResource("/9342-group4-pandorasbox/cat-fish-icon.png"))); // NOI18N
        AddFoldersMenuItem.setText("Add Folder(s)");
        AddFoldersMenuItem.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                AddFoldersMenuItemActionPerformed(evt);
            }
        });
        AddMenu.add(AddFoldersMenuItem);

        jMenuBar1.add(AddMenu);

        RemoveMenu.setText("Remove");
        jMenuBar1.add(RemoveMenu);

        LockFilesInternalFrame.setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout LockFilesInternalFrameLayout = new javax.swing.GroupLayout(LockFilesInternalFrame.getContentPane());
        LockFilesInternalFrame.getContentPane().setLayout(LockFilesInternalFrameLayout);
        LockFilesInternalFrameLayout.setHorizontalGroup(
            LockFilesInternalFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(LockFilesInternalFrameLayout.createSequentialGroup()
                .addGap(107, 107, 107)
                .addComponent(LockButton)
                .addGap(18, 18, 18)
                .addComponent(UnlockButton)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(LockFilesInternalFrameLayout.createSequentialGroup()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 361, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, Short.MAX_VALUE))
        );
        LockFilesInternalFrameLayout.setVerticalGroup(
            LockFilesInternalFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(LockFilesInternalFrameLayout.createSequentialGroup()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 201, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(LockFilesInternalFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(UnlockButton)
                    .addComponent(LockButton))
                .addContainerGap(46, Short.MAX_VALUE))
        );

        LockFilesLabel.setText("Lock and hide your files, folders & drives in your PC in seconds.");

        jLabel2.setText(" Keep them private and safe.");

        javax.swing.GroupLayout LockFilesPanelLayout = new javax.swing.GroupLayout(LockFilesPanel);
        LockFilesPanel.setLayout(LockFilesPanelLayout);
        LockFilesPanelLayout.setHorizontalGroup(
            LockFilesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(LockFilesPanelLayout.createSequentialGroup()
                .addComponent(LockFilesInternalFrame, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 37, Short.MAX_VALUE))
            .addGroup(LockFilesPanelLayout.createSequentialGroup()
                .addGroup(LockFilesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(LockFilesPanelLayout.createSequentialGroup()
                        .addGap(100, 100, 100)
                        .addComponent(jLabel2))
                    .addGroup(LockFilesPanelLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(LockFilesLabel)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        LockFilesPanelLayout.setVerticalGroup(
            LockFilesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, LockFilesPanelLayout.createSequentialGroup()
                .addComponent(LockFilesLabel)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(LockFilesInternalFrame)
                .addGap(2, 2, 2))
        );

        ApplicationTabbedPane.addTab("Lock Files", LockFilesPanel);

        EncryptFilesPanel.setOpaque(false);

        EncyptFilesLabel.setText("Encrypt your important files by keeping them in Lockers.");

        EncryptButton.setText("ENCRYPT");

        DecryptButton.setText("DECRYPT");

        javax.swing.GroupLayout EncryptFilesPanelLayout = new javax.swing.GroupLayout(EncryptFilesPanel);
        EncryptFilesPanel.setLayout(EncryptFilesPanelLayout);
        EncryptFilesPanelLayout.setHorizontalGroup(
            EncryptFilesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(EncryptFilesPanelLayout.createSequentialGroup()
                .addGroup(EncryptFilesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(EncryptFilesPanelLayout.createSequentialGroup()
                        .addGap(75, 75, 75)
                        .addComponent(EncryptButton)
                        .addGap(18, 18, 18)
                        .addComponent(DecryptButton))
                    .addGroup(EncryptFilesPanelLayout.createSequentialGroup()
                        .addGap(35, 35, 35)
                        .addComponent(EncyptFilesLabel)))
                .addContainerGap(94, Short.MAX_VALUE))
        );
        EncryptFilesPanelLayout.setVerticalGroup(
            EncryptFilesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(EncryptFilesPanelLayout.createSequentialGroup()
                .addGap(51, 51, 51)
                .addComponent(EncyptFilesLabel)
                .addGap(35, 35, 35)
                .addGroup(EncryptFilesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(EncryptButton)
                    .addComponent(DecryptButton))
                .addGap(30, 30, 30))
        );

        ApplicationTabbedPane.addTab("Encrypt Files", EncryptFilesPanel);

        ArchiveFilesPanel.setOpaque(false);

        CompressButton.setText("Compress");

        jLabel7.setText("Use Pandora's Archiver for free!");

        javax.swing.GroupLayout ArchiveFilesPanelLayout = new javax.swing.GroupLayout(ArchiveFilesPanel);
        ArchiveFilesPanel.setLayout(ArchiveFilesPanelLayout);
        ArchiveFilesPanelLayout.setHorizontalGroup(
            ArchiveFilesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(ArchiveFilesPanelLayout.createSequentialGroup()
                .addGroup(ArchiveFilesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(ArchiveFilesPanelLayout.createSequentialGroup()
                        .addGap(93, 93, 93)
                        .addComponent(jLabel7))
                    .addGroup(ArchiveFilesPanelLayout.createSequentialGroup()
                        .addGap(131, 131, 131)
                        .addComponent(CompressButton)))
                .addContainerGap(150, Short.MAX_VALUE))
        );
        ArchiveFilesPanelLayout.setVerticalGroup(
            ArchiveFilesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(ArchiveFilesPanelLayout.createSequentialGroup()
                .addGap(58, 58, 58)
                .addComponent(jLabel7)
                .addGap(18, 18, 18)
                .addComponent(CompressButton)
                .addContainerGap(252, Short.MAX_VALUE))
        );

        ApplicationTabbedPane.addTab("Archive Files", ArchiveFilesPanel);

        getContentPane().add(ApplicationTabbedPane);
        ApplicationTabbedPane.setBounds(10, 70, 480, 370);

        BasicInternalFrameUI aUI = (BasicInternalFrameUI)MenuInternalFrame.getUI();
        Component a = aUI.getNorthPane();
        a.setPreferredSize( new Dimension(0, 0) );
        a.validate();
        MenuInternalFrame.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        MenuInternalFrame.setMaximumSize(new java.awt.Dimension(50, 50));
        MenuInternalFrame.setVisible(true);
        MenuInternalFrame.getContentPane().setLayout(null);

        BackgroundLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/bg.jpg"))); // NOI18N
        MenuInternalFrame.getContentPane().add(BackgroundLabel);
        BackgroundLabel.setBounds(0, 0, 770, 450);

        XtrasMenu.setText("Xtras");

        ShredFilesMenuItem.setIcon(new javax.swing.ImageIcon(getClass().getResource("/9342-group4-pandorasbox/cat-torture-icon.png"))); // NOI18N
        ShredFilesMenuItem.setText("Shred Files");
        ShredFilesMenuItem.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ShredFilesMenuItemActionPerformed(evt);
            }
        });
        XtrasMenu.add(ShredFilesMenuItem);

        OtherMenuBar.add(XtrasMenu);

        AboutUsMenu.setText("About Us");
        OtherMenuBar.add(AboutUsMenu);

        MenuInternalFrame.setJMenuBar(OtherMenuBar);

        getContentPane().add(MenuInternalFrame);
        MenuInternalFrame.setBounds(550, 100, 140, 50);

        BackgroundLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/bg.jpg"))); // NOI18N
        getContentPane().add(BackgroundLabel1);
        BackgroundLabel1.setBounds(0, 0, 770, 450);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void AddFoldersMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AddFoldersMenuItemActionPerformed
        JFileChooser chooser2 = new javax.swing.JFileChooser();
        int returnVal = chooser2.showOpenDialog(AddMenu);
     //   File file = chooser2.getSelectedFile();
        chooser2.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        if(returnVal == JFileChooser.APPROVE_OPTION) {
         System.out.println("You chose to open this directory: " +
        chooser2.getSelectedFile().getAbsolutePath());
        }
        chooser2.getFileSelectionMode();
      //  chooser2.setFileFilter(new MyCustomFilter());
      //  chooser2.getFileFilter();
    }//GEN-LAST:event_AddFoldersMenuItemActionPerformed

    private static class MyCustomFilter extends FileFilter {

        public MyCustomFilter() {
        }

        @Override
        public boolean accept(File f) {
            return f.isDirectory() || f.getAbsolutePath().endsWith(".");
        }

        @Override
        public String getDescription() {
            return "Text documents (*.txt)";
        }
    }

    private void AddFilesMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AddFilesMenuItemActionPerformed

        JFileChooser chooser1 = new JFileChooser();
        chooser1.showOpenDialog(null);
        File f = chooser1.getSelectedFile();

    }//GEN-LAST:event_AddFilesMenuItemActionPerformed

    private void ShredFilesMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ShredFilesMenuItemActionPerformed
        JFileChooser fc = new JFileChooser();
        int returnVal = fc.showOpenDialog(null);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            File file = fc.getSelectedFile();
            try{
		file.delete();
            }catch(Exception e)
            {
            	System.out.println("Error");
            }
            
        } else {
            System.out.println("Delete command cancelled by user.");
        }
        
    }//GEN-LAST:event_ShredFilesMenuItemActionPerformed
     private void CompressActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
    	ArchiverGUI archiver = new ArchiverGUI();
    	archiver.setVisible(true);
   	}
   	
   	
	//Action to do to lock a File.
	private void LockButtonActionPerformed(java.awt.event.ActionEvent evt) {                                              
// TODO add your handling code here:
    	FileLocker fileLock = new FileLocker();
    	fileLock.lockAFile();
    	UnlockButton.setEnabled(true);
    	try{
		  // Create file 
		  FileWriter fstream = new FileWriter("lockedfiles.txt", true);
		  BufferedWriter out = new BufferedWriter(fstream);
		  out.write(fileLock.getName());
		  
		  //Close the output stream
		  out.newLine();
		  out.close();
		  
		FileReader fr = new FileReader("lockedfiles.txt");
        LineNumberReader ln = new LineNumberReader(fr);
        int count = 0;
        while (ln.readLine() != null){
                count++;
        }
        System.out.println("Total line no: " + count);
        //ln.close();
		String[][] array = new String[count][2];  
		BufferedReader br = new BufferedReader(
		new FileReader("lockedfiles.txt"));
		String devstr;
		int i=0;
		  while ((devstr = br.readLine()) != null) {
			array[i][0] = devstr;
			System.out.println(devstr+"idiczto");
			array[i][1] = "Locked";
			i++;
		}

		LockFilesTable.setAutoCreateRowSorter(true);
        LockFilesTable.setModel(new javax.swing.table.DefaultTableModel(
            array,
            new String [] {
                "Items", "Status"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        LockFilesTable.setOpaque(false);
        jScrollPane1.setViewportView(LockFilesTable);
		  
		  
		  
		  
		  
		  
		  
		  }catch (Exception e){//Catch exception if any
		  System.err.println("Error: " + e.getMessage());
		  }
		  }
    	
    	
    	  
    
		//Action to do to lock a File.
	private void UnlockButtonActionPerformed(java.awt.event.ActionEvent evt) {                                              
// TODO add your handling code here:
		
		
    	
   	}   
	
	
	
	
	
		
	
	
	
	
	
	
	
	
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (Exception ex) {
            java.util.logging.Logger.getLogger(MainUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new MainUI().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenu AboutUsMenu;
    private javax.swing.JMenuItem AddFilesMenuItem;
    private javax.swing.JMenuItem AddFoldersMenuItem;
    private javax.swing.JMenu AddMenu;
    private javax.swing.JTabbedPane ApplicationTabbedPane;
    private javax.swing.JPanel ArchiveFilesPanel;
    private javax.swing.JLabel BackgroundLabel;
    private javax.swing.JLabel BackgroundLabel1;
    private javax.swing.JButton CompressButton;
    private javax.swing.JButton DecryptButton;
    private javax.swing.JButton EncryptButton;
    private javax.swing.JPanel EncryptFilesPanel;
    private javax.swing.JLabel EncyptFilesLabel;
    private javax.swing.JButton LockButton;
    private javax.swing.JInternalFrame LockFilesInternalFrame;
    private javax.swing.JLabel LockFilesLabel;
    private javax.swing.JPanel LockFilesPanel;
    private javax.swing.JTable LockFilesTable;
    private javax.swing.JInternalFrame MenuInternalFrame;
    private javax.swing.JMenuBar OtherMenuBar;
    private javax.swing.JMenu RemoveMenu;
    private javax.swing.JMenuItem ShredFilesMenuItem;
    private javax.swing.JPanel TitlePanel;
    private javax.swing.JButton UnlockButton;
    private javax.swing.JMenu XtrasMenu;
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JScrollPane jScrollPane1;
    // End of variables declaration//GEN-END:variables


}

